{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "e203afd3-9763-4c2e-a09a-22eaa1dbd22f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Axes: >"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0AAAALZCAYAAACefUF9AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABg80lEQVR4nO3de3zO9f/H8edldnCaGTbbzCGxpSJnYw4pFWoJX9+K9M2hwzdRiq/TV2IOmW8inRQVkrOJnCmhcohSibSiCTvYZoSNdv3+6Ga/1i66tuvz3ua6Hvfb7brd7PP5XJ/Xa5e57Hm935/3x2a32+0CAAAAAA9QqrgbAAAAAICiQgACAAAA4DEIQAAAAAA8BgEIAAAAgMcgAAEAAADwGAQgAAAAAB6DAAQAAADAYxCAAAAAAHgMAhAAAAAAj0EAAgAAAOAxCEAAAAAAPAYBCAAAAIDHIAABAAAA8BgEIAAAAAAegwAEAAAAwGMQgAAAAAB4DEsD0IULF6w8HQAAAABYypIA9OOPPyo2NlZt27a14nQAAAAAYETpwj4xOztb69at08KFC7Vv3z7ZbDbdfvvtVvYGAAAAAJYqcAA6evSoFi5cqBUrVigjI0M2m03dunXT448/rvDwcBM9AgAAAIAlbHa73f53B/3+++/asGGDFi1apJ07d8rLy0vR0dHq0qWLRowYofj4eF1//fVF0S8AAAAAFJpTASg6OlpnzpxRy5Yt1bFjR3Xs2FEVK1aUJN14441auXIlAQgAAABAiefUIghnzpxR5cqVFRoaqoCAAJUpU8Z0XwAAAABgOaeuAdqxY4fWrFmjZcuW6YMPPlC5cuV02223qXPnzrLZbKZ7BAAAAABLODUF7s8SEhK0dOlSrVq1SqmpqbLZbOrevbsGDBigmjVrmuoTAAAAAFxW4AB02e+//65PPvlEK1as0CeffKKcnBy1atVKb7/9ttU9AgAAAIAlCh2A/iwtLU0rV67U8uXLtWrVKiv6AgAAAADLWRKAAAAAAOBa4NQqcAAAAADgDghAAAAAADwGAQgAAACAxyAAAQAAAPAYBCAAAAAAHoMABAAAAMBjEIAAAAAAeAwCEAAAAACPUbq4G7iSlTu/NV7j3hY3Ga8BAAAAoORgBAgAAACAxyAAAQAAAPAYBCAAAAAAHoMABAAAAMBjEIAAAAAAeAwCEAAAAACPQQACAAAA4DEIQAAAAAA8hss3Qr106ZJ27Nghu92uqKgo+fr6WtEXAAAAAFiuQAFowYIFWr58uSSpZ8+e6tKli3r16qWDBw9KkqpVq6Z3331XtWrVsrxRAAAAAHCV01PgZs+erbi4ONWvX19NmjTR9OnT1a9fP+Xk5GjBggWaP3++KleurGnTppnsFwAAAAAKzekRoMWLF2vChAnq3LmzJKlLly7q2bOn3njjDTVu3FiSNGLECA0ePNhMpwAAAADgIqdHgI4fP66GDRvmft2gQQOVLl1aNWrUyN1Ws2ZNZWRkWNogAAAAAFjF6QB08eJF+fn55dnm7e0tb2/v3K9tNptycnKs6w4AAAAALMQy2AAAAAA8RoFWgZszZ47KlCmT+/WlS5c0d+5cVaxYUZJ07tw5a7sDAAAAAAs5HYBCQ0O1du3aPNuqVq2qzZs359kWEhJiTWcAAAAAYDGnA9CWLVtM9gEAAAAAxnENEAAAAACPQQACAAAA4DEIQAAAAAA8BgEIAAAAgMcgAAEAAADwGAQgAAAAAB7DZrfb7cXdBAAAAAAUBafvA1TUtnz9g/EaHRrW0+5BPY3XkaRmMxYXSR0AAAAAV8YUOAAAAAAegwAEAAAAwGMQgAAAAAB4DAIQAAAAAI9BAAIAAADgMQhAAAAAADwGAQgAAACAxyhwADp//rz+eu/UhIQEXbhwwbKmAAAAAMCEAgWg1atXq0OHDvruu+/ybJ84caLatWunjRs3WtocAAAAAFjJ6QC0c+dODRs2TLfeequCg4Pz7Bs5cqQ6dOigp59+Wnv37rW8SQAAAACwgtMBaNasWerdu7cmTpyoqlWr5tlXp04dTZo0STExMXr99dctbxIAAAAArOB0ADpw4IB69Ohx1WMefPBBHThwwOWmAAAAAMAEpwNQVlaW/Pz8rnpMQECAzp8/73JTAAAAAGCC0wGodu3a2rdv31WP2bt3r8LCwlxuCgAAAABMcDoAxcTEaPr06UpKSnK4PykpSdOnT9ddd91lWXMAAAAAYKXSzh7Yu3dvrV+/Xnfffbe6d++uRo0ayd/fXxkZGdq7d69WrFihWrVqqV+/fib7BQAAAIBCczoAeXl56d1339XLL7+sZcuW6d13383dV6VKFfXq1UtPPPHE314nBAAAAADFxekAJEk+Pj4aNmyYhgwZosTERJ0+fVqBgYEKDw+XzWYz1SMAAAAAWKJAASj3SaVLq3bt2lb3AgAAAABGOb0IAgAAAABc6whAAAAAADwGAQgAAACAxyAAAQAAAPAYBCAAAAAAHsNmt9vtxd0EAAAAABSFQi2DXRTOZGYar1HB31/J+/cYryNJQQ2aKuF4svE6dUKDjNcAAAAArlVMgQMAAADgMQhAAAAAADwGAQgAAACAxyAAAQAAAPAYBCAAAAAAHoMABAAAAMBjEIAAAAAAeAwCEAAAAACPUegAdP78eSUnJ+v8+fNW9gMAAAAAxpQuyMFnz57V7Nmz9dFHHykxMTF3e82aNRUTE6NHHnlEZcqUsbxJAAAAALCC0wEoPT1dvXv31okTJ9SxY0f985//lL+/v86cOaPvvvtOs2bN0tq1a7VgwQJVqFDBZM8AAAAAUChOB6Dp06crJydHH330kUJCQvLtP3nypAYMGKA5c+Zo8ODBljYJAAAAAFZw+hqgrVu3atiwYQ7DjyRVq1ZNgwcP1po1ayxrDgAAAACs5HQASk1NVb169a56TGRkpI4fP+5yUwAAAABggtMB6OLFi/Lz87vqMX5+frp06ZLLTQEAAACACdwHCAAAAIDHKNAy2HPmzLnqMtfnzp1zuSEAAAAAMMXpABQaGqq1a9f+7XFXWiQBAAAAAIqb0wFoy5YtJvsAAAAAAOO4BggAAACAxyAAAQAAAPAYBCAAAAAAHoMABAAAAMBjEIAAAAAAeAwCEAAAAACPYbPb7fbibgIAAAAAioLT9wEqamk//2i8RmDt63Xqx4PG60hS5esjteDTfcbrPNi2kY7v2GS8Tmjr243XAAAAAKzGFDgAAAAAHoMABAAAAMBjEIAAAAAAeAwCEAAAAACPQQACAAAA4DEIQAAAAAA8BgEIAAAAgMcgAAEAAADwGE4HoIyMjL89Jjs7Wxs2bHClHwAAAAAwxukAFBUVpVOnTuXZ9p///CfPtszMTA0ePNi67gAAAADAQk4HILvdnm/bxo0bde7cub89DgAAAABKApeuAXIUdmw2myunBAAAAABjWAQBAAAAgMcgAAEAAADwGAUKQExvAwAAAHAtK12Qg2NjY+Xr65v79cWLFxUXF6dy5cpJkrKysqztDgAAAAAs5HQAatasmVJSUvJsa9SokdLT05Wenp67rWnTptZ1BwAAAAAWcjoAzZs3z2QfAAAAAGAciyAAAAAA8BgEIAAAAAAegwAEAAAAwGMQgAAAAAB4DAIQAAAAAI9BAAIAAADgMWx2u91e3E0AAAAAQFFw+j5ARe3Mn26uakqFSpW07dsE43Ukqc1NdZSw6C3jder8c4BeW/u58Tr/7hSlUxmZxutUDvA3XgMAAACegylwAAAAADwGAQgAAACAxyAAAQAAAPAYBCAAAAAAHoMABAAAAMBjEIAAAAAAeAwCEAAAAACPQQACAAAA4DEIQAAAAAA8htMBaMqUKTp37pzJXgAAAADAKKcD0DvvvKPz58/n2fboo48qOTnZ8qYAAAAAwASnA5Ddbs+3bffu3crKyrK0IQAAAAAwhWuAAAAAAHgMAhAAAAAAj1GgAGSz2Uz1AQAAAADGlS7IwbGxsfL19c39+uLFi4qLi1O5cuXyHDdp0iRrugMAAAAACzkdgJo1a6aUlJQ82xo1aqT09HSlp6db3hgAAAAAWM3pADRv3jyTfQAAAACAcSyCAAAAAMBjEIAAAAAAeAwCEAAAAACPQQACAAAA4DEIQAAAAAA8BgEIAAAAgMew2e12e3E3AQAAAABFwen7ABW19MQjxmtUCq+lpL1fGK8jScGNW+rQ21ON14no/5wyz5wxXse/QgX98O5043Xq/WuwzmRmGq8jSRX8/YukDgAAAIoPU+AAAAAAeAwCEAAAAACPQQACAAAA4DEIQAAAAAAsl5OToxkzZqhNmza65ZZbNGDAACUmJl7x+O+++04PP/ywGjVqpJYtW2rMmDE6Y+DadgIQAAAAAMu99tprWrBggcaPH6+FCxcqJydH/fv3V3Z2dr5jU1NT9cgjjygsLEzLly/Xa6+9pi+//FLDhw+3vC8CEAAAAABLZWdna86cORo0aJDat2+vyMhITZs2TSdPntSGDRvyHf/rr78qOjpa48aNU+3atdW4cWP17NlTO3bssLw3AhAAAAAASx08eFC//faboqKicrf5+/urfv362r17d77jGzZsqJdeekmlS/9xl56EhAStXLlSrVu3try3At0HKC0tTXPmzNHgwYPl7e2te+65R+fOncvd36pVK40fP97yJgEAAABcO06ePClJCgkJybM9KCgod9+V3HnnnTpy5IjCwsI0c+ZMy3tzOgClpqaqe/fu8vHxUa9evRQSEqJjx46pe/fuCggI0PHjx7V06VJ17dpVTZo0sbxRAAAAAEXrtttuu+r+zZs3O9x+/vx5SZKPj0+e7b6+vjp9+vRVzzl16lSdP39ecXFx6tOnj1auXKly5coVoOurczoAzZo1S6GhoXr33Xfl6+ubu/3hhx9WeHi4JCkpKUmLFi0iAAEAAADFbHtPK6aP+RXuWX5/PC87Ozv3z5KUlZWlMmXKXPW5N998syRp5syZateunTZu3KiuXbsWqg9HnA5An3zyif773//mCT9/1atXL8XGxlrSGAAAAIDidaURnr9zeepbcnKyatSokbs9OTlZERER+Y7/6aef9Msvv6h9+/a524KDgxUQEKCkpKRC9XAlTi+CcOLECdWtWzfPthYtWuRJdBEREUpJSbGuOwAAAACFU8rm+qOQIiMjVb58ee3cuTN3W2Zmpg4cOKBmzZrlO/6zzz7ToEGDlJmZmbvtl19+UXp6uurUqVPoPhxxOgCVL19ev/32W55tb7zxhqpWrZr79ZkzZ1SxYkXrugMAAABwzfHx8VHv3r01depUbd68WQcPHtQzzzyjatWq6Y477tDvv/+ulJQUXbhwQZJ09913KyAgQEOHDtXhw4e1Z88eDRo0SA0aNNCtt95qaW9OB6Drr79e27Ztu+oxW7duVf369V1uCgAAAICLbDbXHy4YNGiQevToodGjR+uBBx6Ql5eXZs+eLW9vb504cULR0dFas2aNJCkgIEDvvfeeJOmBBx7Qk08+qfr162v27Nny8vJy+aX4M6evAbrvvvv04osvqmXLloqMjMy3/9ChQ3rrrbc0YcIESxsEAAAAUHA2W/He8tPLy0tDhw7V0KFD8+2rXr26Dh06lGdb7dq19eabbxrvy+kA1K1bN23atEk9evRQ165dFRUVpcDAQGVkZGjXrl2Kj4/XrbfeqjvvvNNkvwAAAACc4eIIjrsq0I1QX331Vb3zzjuaP3++li5dmru9atWqeuKJJzRgwADLGwQAAAAAqxQoANlsNvXt21d9+/ZVYmKiTp06pUqVKik8PFylShXvEBsAAACA/1fcU+BKqgIFoD8LDw/PvQEqAAAAgBLGhWWs3VmhAxAAAACAEowRIId4VQAAAAB4DEaAAAAAADdkYxU4hwhAAAAAgDtiCpxDBCAAAADAHbEIgkM2u91uL+4mAAAAAFjr836dXD5H1Oy1FnRSspTYEaAzmZnGa1Tw99dz760xXkeSpj7cWWMXbTJeZ+w/b9eJ1HTjdUKqVNKGvQeN17mjcaS+f22C8TqSdMO/RxXJz8PUhzsbrwEAAMA1QI4xMRAAAACAxyAAAQAAAPAYJXYKHAAAAAAXsAqcQwQgAAAAwA1xDZBjBCAAAADAHTEC5BCvCgAAAACPwQgQAAAA4I64EapDBCAAAADADdmYAucQAQgAAABwRyyC4JDTAahPnz5On3Tu3LmFagYAAAAATHI6AIWFheXbtmrVKnXo0EHlypWztCkAAAAALmIEyCGnA9CkSZPybVu3bp2GDh2q8PBwS5sCAAAA4BpbKa4BcoRrgAAAAAB3xAiQQ8RCAAAAAB6DESAAAADADbEMtmMEIAAAAMAdMQXOIacD0IgRI/Jtu3jxouLi4vKtAudowQQAAAAAKG5OB6Bjx47l29aoUSOlp6crPT3d0qYAAAAAwASnA9C8efNM9gEAAADASlwD5BDXAAEAAABuyFaKa4AcIQABAAAA7ohFEBxiXAwAAACAx2AECAAAAHBHXAPkEAEIAAAAcEM2psA5RCwEAAAA4DFsdrvdXtxNAAAAALDW3hH9XD5H40mzLeikZCmxU+B+Wv6e8RrXdXtYyWkZxutIUlBggJ54M954ndcf66r4L741Xqdry5t06seDxutUvj5SpxIOGa8jSZXrRChp7xfG6wQ3bqkjqxcar1Pr7vuN1wAAACUXU+AcK7EBCAAAAIALWATBIV4VAAAAAB6DESAAAADAHTEFziECEAAAAOCGbEyBc4gABAAAALijUowAOUIsBAAAAOAxCEAAAAAAPAZT4AAAAAB3xCIIDhGAAAAAADfEIgiO8aoAAAAA8BiMAAEAAADuiClwDhGAAAAAADfEFDjHnA5Affr0cfqkc+fOLVQzAAAAACzCfYAccjoAhYWFmewDAAAAgBvJycnRzJkztWTJEp05c0bNmjXTmDFjFB4e7vD4w4cPKy4uTl9//bVKlSqlZs2aafjw4QoNDbW0L6cD0KRJkywtDAAAAMCgYp4C99prr2nBggWaPHmyqlWrpri4OPXv31+rVq2Sj49PnmPT09P1yCOPqHHjxpo3b56ys7M1efJk9e/fXytWrJCvr69lfTExEAAAAHBDNpvN5UdhZWdna86cORo0aJDat2+vyMhITZs2TSdPntSGDRvyHb9p0yadO3dOU6ZMUb169XTTTTcpLi5OCQkJ2rt3rysvQz4EIAAAAMAd2WyuPwrp4MGD+u233xQVFZW7zd/fX/Xr19fu3bvzHR8VFaXXXntNfn5+udtKlfojqmRmZha6D0dYBQ4AAACApU6ePClJCgkJybM9KCgod9+fVa9eXdWrV8+zbdasWfLz81OzZs0s7Y0ABAAAALijUq5P9rrtttuuun/z5s0Ot58/f16S8l3r4+vrq9OnT/9t3Xnz5mn+/PkaPXq0AgMDnezWOQQgAAAAwA25cg2Pqy5PZcvOzs4zrS0rK0tlypS54vPsdrumT5+u119/XU888YQeeughy3sjAAEAAABw6EojPH/n8tS35ORk1ahRI3d7cnKyIiIiHD7n4sWLGjFihFavXq0RI0boX//6V6Fq/x0WQQAAAADcka2U649CioyMVPny5bVz587cbZmZmTpw4MAVr+kZNmyY1q1bp//973/Gwo/ECBAAAAAAi/n4+Kh3796aOnWqAgMDFRYWpri4OFWrVk133HGHfv/9d6WlpalChQry8/PT8uXLtWbNGg0bNkzNmzdXSkpK7rkuH2MVRoAAAAAAN1Sc9wGSpEGDBqlHjx4aPXq0HnjgAXl5eWn27Nny9vbWiRMnFB0drTVr1kiSVq9eLUmaMmWKoqOj8zwuH2MVm91ut1t6RgAAAADF7rv/jXL5HDc+O8GCTkqWEjsFLvm7fcZrBN3YSMc/22K8jiSFtuqgHxe8abzO9Q8+pszUZON1/KsE6XRykvE6FYOClZyWYbyOJAUFBhRJraDAAJ05bb5OhYoB+uVkqvE6NapVMV4DAAAUggvX8LizEhuAAAAAALigVPEtg12SEYAAAAAAN1Sc9wEqyRgXAwAAAOAxGAECAAAA3BHXADlEAAIAAADcEVPgHCIAAQAAAG7IVooRIEd4VQAAAAB4DEaAAAAAAHfEFDiHCEAAAACAG7KxCIJDTgWg+Pj4K+7z8vJSYGCgbrnlFpUrV86qvgAAAAC4ghEgh5wKQMOHD//bYypWrKg33nhDjRo1crkpAAAAADDBqQB08ODBq+7PyMjQjBkzNGnSJC1evNiSxgAAAAC4gClwDlnyqgQEBKhv37764YcfrDgdAAAAABhh2SIIe/bsUZUqVaw6HQAAAAAX2EpxDZAjLgegH374QUOGDFFCQoL+85//WNETAAAAABjhcgCqXLmy2rZtq+HDhys6OtqKngAAAAC4ilXgHLIkAA0bNsyKXgAAAABYhUUQHOJVAQAAAOAxLFsEAQAAAEDJYWMKnEMEIAAAAMAdlWKylyMEIAAAAMANMQLkGLEQAAAAgMdgBAgAAABwR6wC5xABCAAAAHBHTIFzyGa32+3F3QQAAAAAa/34/usun+P6Xk9Y0EnJUmJHgE4nnTReo2JwNSWnZRivI0lBgQH65WSq8To1qlVRZtop43X8AyvryIkU43VqhVQt0r+j714eY7zOjU+P08qd3xqvc2+Lm3Tsk7XG61Rv30nHP//YeB1JCo26tUjqAAAA91ViAxAAAAAAF3ANkEMEIAAAAMANsQy2Y8RCAAAAAB6DAAQAAADAYzAFDgAAAHBHpZgC5wgBCAAAAHBHLILgEAEIAAAAcEMsguAYsRAAAACAx3A6AMXHx//tMWlpaXr88cdd6QcAAACAFWylXH+4IaenwI0cOVI+Pj7q3Lmzw/07d+7Uc889p4yMDKt6AwAAAFBYLILgkNOx7sEHH9SwYcO0adOmPNtzcnL08ssvq2/fvvL399fChQstbxIAAABAwdhspVx+uCOnR4BGjx4tSXrmmWc0c+ZMtWvXTidOnNCQIUP01VdfqVevXho6dKh8fX2NNQsAAAAArijQKnCjR4+WzWbToEGD1L9/f82bN09+fn56++231bp1a1M9AgAAACgoVoFzqMDLYI8aNUo2m02vvvqqmjRpotdee00VK1Y00RsAAACAQnLXKWyuKtSrMnLkSP3rX//SgQMHdPjwYat7AgAAAAAjnB4BmjlzZp6vy5cvrwoVKujRRx/Vww8/LC8vr9x9AwcOtK5DAAAAAAXHFDiHnA5Ay5cvz//k0qUVEBCglStX5m6z2WwEIAAAAKC4sQy2Q04HoC1btpjsAwAAAICFuAbIMV4VAAAAAB6jwKvAAQAAALgGcA2QQ4wAAQAAAPAYjAABAAAA7ohrgBziVQEAAADgMRgBAgAAANyQjWuAHLLZ7XZ7cTcBAAAAwFq/bIh3+Rw17ujq8jlKmhI7AnT0o8XGa9Ts0lOff/+z8TqSFHVDbf366QbjdcLa3qFVu74zXuee5jcqae8XxusEN26ptKM/Ga8jSYE1r1PmqVTjdfwrV9F3R44br3NjrVCdTjppvE7F4Gr6auyTxutI0i1jX9WxreuM16ne7i7jNQAAMK24R4BycnI0c+ZMLVmyRGfOnFGzZs00ZswYhYeH/+3zHn30UTVs2FBPPfWU5X1xDRAAAAAAy7322mtasGCBxo8fr4ULFyonJ0f9+/dXdnb2FZ+TnZ2tkSNHatu2bcb6IgABAAAA7shmc/1RSNnZ2ZozZ44GDRqk9u3bKzIyUtOmTdPJkye1YYPjWVF79+5Vt27dtGfPHvn7+xe69t8hAAEAAADuyFbK9UchHTx4UL/99puioqJyt/n7+6t+/fravXu3w+ds3bpVbdq0UXx8vCpUqFDo2n+nxF4DBAAAAKDwbKVcvwbotttuu+r+zZs3O9x+8uQf1yGHhITk2R4UFJS776+eeeaZQnRYcIwAAQAAALDU+fPnJUk+Pj55tvv6+iorK6s4WsrFCBAAAADgjlyYwnbZlUZ4/o6fn5+kP64FuvxnScrKylKZMmVc7ssVjAABAAAA7qgYF0G4PPUtOTk5z/bk5GQFBwe79G25igAEAAAAuCGbrZTLj8KKjIxU+fLltXPnztxtmZmZOnDggJo1a2bFt1doTIEDAAAAYCkfHx/17t1bU6dOVWBgoMLCwhQXF6dq1arpjjvu0O+//660tDRVqFAhzxS5osAIEAAAAOCOinEKnCQNGjRIPXr00OjRo/XAAw/Iy8tLs2fPlre3t06cOKHo6GitWbPGom/WeZaOAO3evVvDhw8v9MVSAAAAANyDl5eXhg4dqqFDh+bbV716dR06dOiKz92yZYuxviwdAbpw4YKOHz9u5SkBAAAAwDJcAwQAAAC4IStuhOqOCEAAAACAO7LgPkDuiAAEAAAAuCMXFzFwV04HoJkzZ/7tMUePHnWpGQAAAAAwyekAtHz5cqeOu3zXVwAAAADFx5UbmbozpwOQyaXoAAAAAFiMRRAc4hogAAAAwB0xAuQQrwoAAAAAj8EIEAAAAOCGbKwC5xABCAAAAHBHTIFziAAEAAAAuCFGgBwjFgIAAADwGIwAAQAAAO6IZbAdstntdntxNwEAAADAWklf73b5HMENm1nQSclSYkeA3tqw03iNAXe00IldnxqvI0khzdsq88wZ43X8K1TQZw93NF6n1Xsblbx/j/E6QQ2aKvXQd8brSFKViBt1Oumk8ToVg6tp9sZdxuv069hcmadSjdfxr1xF3x05bryOJN1YK1THtq4zXqd6u7uUuHGl8TrhHe81XgMAAOTFNUAAAAAAPEaJHQECAAAAUHisAucYAQgAAABwR9wHyCFeFQAAAAAegxEgAAAAwB2xDLZDBCAAAADADdmYAucQAQgAAABwRyyC4JDTAWjmzJlOn3TgwIGFagYAAAAATCpQACpVqpSqVat21eNsNhsBCAAAAChmLIPtmNMBqGfPntq4caMkqUuXLurSpYsiIyONNQYAAADABVwD5JDTr8q4ceO0fft2jR8/XmlpaXr44YfVuXNnvfrqqzpy5IjBFgEAAAAUWCmb6w83VKBFELy8vNS6dWu1bt1aY8eO1fbt27V27Vp1795dNWrUUOfOndWlSxeFhoaa6hcAAAAACq3Qq8B5e3vr1ltv1a233qrs7GwtW7ZM//vf//TSSy/p+++/t7JHAAAAAAXEMtiOubQMdnJysjZs2KB169bpyy+/VM2aNfXQQw9Z1RsAAACAwmIRBIcKHICSkpK0fv16rVu3Tvv27VN4eLg6deqk0aNHsygCAAAAUFIwAuSQ0wHo3Xff1fr16/X1118rNDRUnTp10qhRo3TjjTea7A8AAAAALON0AJo8ebK8vb3Vpk0b3XzzzZKkjz/+WB9//HG+Y7kPEAAAAICSyOkAdHllt8OHD+vw4cNXPI4boQIAAADFjxuhOuZ0ANqyZYvJPgAAAABYqRTXADnCqwIAAADAY7i0DDYAAACAkokpcI4RgAAAAAB3RAByiAAEAAAAuCPuA+QQrwoAAAAAj2Gz2+324m4CAAAAgLUyjie6fI6A0HALOilZSuwUuCOrFxqvUevu+5WclmG8jiQFBQbolw3xxuvUuKOrMk4eN14noFqodh06YrxO84haOrHrU+N1JCmkeVsdmP688Tr1B7+g08lJxutUDApW0te7jdcJbthMJ0+lG68jSdUqV1Lipg+N1wm/PUbpx34xXqdS9Ro6/nn+m0lbLTTqVuM1AAAlEFPgHOJVAQAAAOAxSuwIEAAAAAAXsAqcQwQgAAAAwA3ZmALnEAEIAAAAcEeMADlELAQAAADgMRgBAgAAANyQrRQjQI4wAgQAAADAYzACBAAAALgjFkFwiFcFAAAAgMdwegSoT58+Th1ns9n03nvvFbohAAAAABYo5lXgcnJyNHPmTC1ZskRnzpxRs2bNNGbMGIWHhzs8Pj09XbGxsfr0009ls9nUpUsXDRs2TGXKlLG0L6cDUFhY2FX379mzR4mJifL393e5KQAAAACuKe77AL322mtasGCBJk+erGrVqikuLk79+/fXqlWr5OPjk+/4QYMG6fz583r33XeVmZmpUaNG6dy5c3rxxRct7cvpADRp0iSH28+ePavJkycrMTFRrVu31oQJEyxrDgAAAEAhFeMqcNnZ2ZozZ46ee+45tW/fXpI0bdo0tWnTRhs2bNDdd9+d5/h9+/Zp165dWrNmjerUqSNJGjdunPr3768hQ4YoODjYst5cioWfffaZYmJitH79eo0fP16zZ89WtWrVrOoNAAAAwDXo4MGD+u233xQVFZW7zd/fX/Xr19fu3bvzHb9nzx5VrVo1N/xIUvPmzWWz2fTll19a2luhVoE7d+6cJk+erMWLF6t169aKjY1VSEiIpY0BAAAAcIEFU+Buu+22q+7fvHmzw+0nT56UpHwZISgoKHffnyUlJeU71sfHRwEBATpx4kRBWv5bBQ5An3/+uUaNGqXTp09r3Lhx6tmzp6UNAQAAAHCdvRgXQTh//rwk5bvWx9fXV6dPn3Z4vKPrgnx9fZWVlWVpb04HoHPnzmnKlClatGiRoqKiNGHCBEZ9AAAAgBLq9xzXz3GlEZ6/4+fnJ+mPa4Eu/1mSsrKyHK7q5ufnp+zs7Hzbs7KyVLZs2UL1cCVOB6B77rlHx48fV3h4uBo3bqxly5Zd8diBAwda0hwAAACAa8/lgZLk5GTVqFEjd3tycrIiIiLyHV+tWjVt2rQpz7bs7GxlZGQoKCjI0t6cDkB2u10hISG6dOmSli9ffsXjbDYbAQgAAAAoZnbZi612ZGSkypcvr507d+YGoMzMTB04cEC9e/fOd3yzZs00depUHT16VDVr1pQk7dq1S5LUpEkTS3tzOgBt2bLF0sIAAAAAzLEXX/6Rj4+PevfuralTpyowMFBhYWGKi4tTtWrVdMcdd+j3339XWlqaKlSoID8/PzVs2FCNGzfWM888o7Fjx+rcuXMaM2aMunbtaukS2JKLy2ADAAAAKJly7HaXH64YNGiQevToodGjR+uBBx6Ql5eXZs+eLW9vb504cULR0dFas2aNpD9mkc2cOVPVq1fXww8/rKefflpt27bV2LFjLXgl8irUMtgAAAAAcDVeXl4aOnSohg4dmm9f9erVdejQoTzbKleurBkzZhjviwAEAAAAuCF7cc6BK8GYAgcAAADAYxCAAAAAAHgMm52xMQAAAMDtnDyV7vI5qlWuZEEnJUuJvQboTGam8RoV/P2V/N0+43UkKejGRtrx3U/G67S+8TplpiYbr+NfJUhpR81/P4E1ryuS103647U79dNh43UqX1dX275NMF6nzU11lPT1buN1ghs203cv/dd4HUm6cch4HV175ZswW6Vmp+7auO/Q3x/ooo6NInT4WJLxOnWrB+tY8injdaoHVTZeAwDgPIY5HCuxAQgAAABA4THRyzGuAQIAAADgMRgBAgAAANyQqzcydVcEIAAAAMANkX8cIwABAAAAbohrgBzjGiAAAAAAHqPQI0CJiYlKS0tTYGCgqlevLpvNZmVfAAAAAFzANUCOFSgA2e12vf3225o/f76Sk///XjNVq1ZV7969NWDAAIIQAAAAUAIQfxwrUAAaOHCgPv30U917772KiopSpUqVdPr0ae3cuVOvv/66vv76a7366qumegUAAADgJEaAHHM6AC1btky7du3S4sWLdcMNN+TZ16lTJ/Xq1UsPPfSQli9frm7dulneKAAAAAC4yulFEJYsWaKBAwfmCz+X1a1bV0899ZSWLl1qWXMAAAAACsdut7v8cEdOB6CEhAS1adPmqse0adNGhw8fdrkpAAAAAK6x211/uCOnp8BdunRJpUv//eEsggAAAAAUP64BcszpEaDrr79e27dvv+ox27dvV926dV1uCgAAAABMcDoA3XfffZo5c6aOHj3qcH9CQoJmzpypnj17WtYcAAAAAFjJ6Slw999/vz755BN1795d3bp1U+PGjRUQEKCzZ89q9+7dWrJkidq1a6d7773XZL8AAAAAnOCuixi4yukAVKpUKb322mt64403NH/+fM2dOzd3X9WqVfXkk0+qb9++RpoEAAAAUDDkH8cKdCPU0qVLa+DAgXryySf1888/6/Tp06pUqZJq1KihUqWcnk0HAAAAAMWiQAHoMpvNpuuuu87qXgAAAABYhFXgHCtUAAIAAABQsnENkGPMWwMAAADgMRgBAgAAANxQDgNADhGAAAAAADdkFwnIEQIQAAAA4Ia4Bsgxm51XBgAAAHA7XyUkunyOW+qEW9BJyVJiR4AOJZ40XiMivJq+mfIf43Uk6eZhL+qr/z5hvM4t41/X8R2bjNcJbX27nnnnI+N1pj3SRce2rjNeR5Kqt7tLv27baLxOWJuO+t/KT43XefbetjqVcMh4ncp1IpTwwSzjdSSpzgOPFtnPd2LSKeN1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WXn+iIgIvfPOOw73jxkzRhEREZb00KFDB3Xo0EFnz57Nt8/qn43ff/9dCxYsUI8ePdSoUSM1bdpU999/v5YuXSq73W5Znb++10VGRqpx48bq3bu3du/ebVmdouLofe7y+/e4ceN0/vx5S+t9+OGH6tmzp2655RY1atRI3bt318KFCy07//Dhw6/6f0RERIRltYriPfWhhx5St27drrh/9OjRuvPOOwt9/oEDB+of//hHvu09e/ZURESEdu3alWf7hx9+qMjISJ06darQNRMTE9W4cWMNGzYs375vv/1WN998sxYsWFDo8182YsQINWjQQD///HO+fSkpKWrevLmee+45l+tI0rFjx676M1fU/w+ieJQu7gas8NFHH6ly5cpKSUnRxo0b1blzZ8tr9O3bV3379pUkXbhwQfv379fo0aNVpkwZ9erVy5IaWVlZeuSRR3TixAkNGjRIjRo10oULF7Rs2TI98sgjmjJliu655x5Lav31+/nhhx8UFxen3r17a9GiRapQoYIldTp16qRRo0Y53FepUiVLavxdrTJlylhWIycnRwMHDtSePXv0+OOPa8yYMSpXrpwOHz6s119/Xd27d9eKFStUuXJly2rCdbGxsfrggw8UFxenu+++u7jbKRBvb2+tX79ejzzySJ7tly5d0oYNG2Sz2Syr9euvv2rKlCkaN26cZef8q4sXL+rJJ5/U/v37NXDgQEVHR+v333/Xtm3bNHnyZG3ZskWvvPKKvLy8LKn35/c6u92ujIwMvfTSS+rfv7/Wrl2r0NBQS+pkZ2dr7ty5Wr16tY4ePSofHx9FRkaqV69euuOOOyypIeV/nzt37py2b9+uSZMmKScnR2PHjrWkztKlSzVhwgSNGjVKTZo0kd1u144dOxQbG6vU1FQNHDjQ5RqjRo3Ss88+m/t1dHS0Ro4caeT/8KLQo0cPDRs2TAkJCapTp06efVlZWVq3bp0ee+yxQp8/KipKkyZN0oULF+Tn5ydJysjI0DfffKOQkBBt27ZNzZs3zz1+z549ioyMdOn/o/DwcI0ePVojRoxQ+/btc/9uzpw5o6efflodOnTQgw8+WOjzXzZixAht375dY8aM0dy5c/O8r40bN05lypTRmDFjXK4jSSEhIdq+fXu+7evXr9f48ePVsWNHS+qgZHOLALRs2TK1adNGx48f18KFC428eZYtW1ZV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6aKPP/5Ya9eudWmu7V/df//9uSuDXLp0SUePHtW0adPUq1cvLVmyxOVP/S//Up2RkeFqqy45c+aMJFn2KUiHDh0crtxStmxZS87/d7WsnDJ4+Rezv04JeeGFF3ThwgVJ0rx587RlyxZL6l3ptZs6dWqx/5yUdGfPntWsWbMUERGhe+65R88++6zmz59v6RShonTTTTcpPDxc69evV58+fbRmzRrLR3/+7J///KfWr1+v0aNHO5zOU1iX/w1dfp9x5PK/L0ejKYXx5/fuUqVKKSAgwNJpO+np6ZJ01esTKlWqJLvdrvT0dAUFBblU7/L7gt1u1/79+zVhwgS1atVKjz/+uOU/37fccotuueUW5eTk6ODBg9q6davmz5+vAQMGaOPGjdfUYi+lS5e+4rTKnJwcS1+77t27680339TIkSNVunRpxcfH67777rNkBkdUVJQyMjL0008/afv27apfv37uv5XWrVtr5syZkv64/sfq94jx48fr0qVLqlu3rp577jktW7bMyLT822+/XTfddJPCwsLUsGFDy89/2b59+/S///1PDz74oGJiYozVQcl0TU+Bu7x87sCBA1W/fn3Vr19f//nPfyTJ8mlwFStWVM2aNVWzZk3VqVNHHTp00NixY3Xw4EF99tlnLp8/PDxcVapUyTO3988SEhLUt29fHT582OVaV/Pdd9+pVq1aloz+SFK5cuVyX7c/P0xc5OqoVnBwsGXnDw8PV9WqVfOM9kh/TE+8XM/KEbwrvXZW/d0UtdTUVB06dCj368vLHZuY1tmnTx+1aNFCAQEBmjRpkr766iujy1UXhcvT4LKysrR582bjK2XFxsbqzJkzmjRpkmXnrFGjhqpWrXrVJah37dqlqlWrqnr16pbU/PN7d3h4uKXhR/r/oPbXD0b+7PIHFlbUvvy+UKtWLcXExGj69OlaunSpZRejS9LJkyf1wgsv6OTJk5L+CI7169fXE088oXfffVe//fbbNbeMuL+/vzIzMx3uO336tKXv3TExMTpz5ox27NihAwcO6PDhw+revbsl5w4ODlbt2rW1b98+7dixI88IbXR0tJKTk/Xdd9/p4MGDll43s2rVKi1btkwvvPCC4uLidPToUSPTZC8rU6aM0ZGftLQ0Pf3004qMjNSIESOM1UHJdc0GoFOnTmnr1q3q1q2b4uPj8zy6d++uffv26YcffjDaw+Vf4Ky4WLdUqVLq0aOHli9frhMnTuTb//bbb+ubb74xOo3n5MmT2rx5s2XT+tyNl5eX+vTpo/j4eB08eNDhMY7+7vCH2bNna8iQIblfW/1J/5/9+dPc6Oho9e7dW7NmzdLnn39uea2i0qlTJ+3du1fLli1TeHh4vmV2rRYaGqrhw4dr6dKl2rNnjyXn9PLy0r/+9S8tXbpUCQkJ+fYfPnxY8fHx6t27t/HrHa1y8803y9fXN989WP5s165dqlevnpFf6Fq2bKlHHnlEH3zwgT799FNLzunj46MlS5boww8/zLfv8khXlSpVLKlVVG688UZ9++23ys7OzrM9Oztb+/fv180332xZrcDAQHXo0EFr1qzRRx99pGbNmlkynfOyVq1aae/evdq3b1+ekBMWFqZatWrp/fffV2BgoGX3UTp69Kief/553X///br99tsVGRmpwYMHa8GCBfrkk08sqVGU7Ha7hg4dqgsXLmjGjBlct+uhrtkA9OGHH+rSpUsaMGCA6tWrl+fx+OOPq1SpUpaOAp07d04pKSlKSUlRcnKy9uzZo4kTJyooKEhRUVGW1Hj88cdVq1YtPfjgg4qPj9cvv/yi/fv3a8SIEYqPj9f48eMtmzr25+8nMTFRmzZtUv/+/VW9evV89xtxxYULF3Lr/PXx1/+IrgX9+/fXrbfeqgcffFBvvPGGDh48qGPHjmnLli3q27evli1bZmxu9LWuVatW+vHHH7VixQolJiZqxowZ8vf3z50nb9Jzzz2n2rVra+jQoZbegFf645eDTz/9NM/jar8MF9YNN9ygmjVr6n//+5/R6W9/9o9//EPR0dGWLkjQt29ftW3bVr169dL777+vo0eP6ujRo3r//ffVu3dvtWzZUgMGDLCsnmkVKlRQt27d9M477yg5OVnSHx+Kde7cWXFxcdq0aZO2b99u9OaKgwcPVq1atTR27FhLFrAJDAxU//79NX36dE2bNk3ff/+9EhMT9fHHH2vgwIFq0aKFmjZtakHnRadHjx6593Hbt2+ffv31V+3atUv//ve/Vbp06TzLfVtV7+OPP9b69estP3dUVJTWrl0rm82W73rQNm3aaO3atYqKirJkhcjs7Gw988wzCgkJyTNS0q9fPzVr1kwjRozIvT72WvHmm29qx44dGjlypLy9vfP9bmL1/xEoma7NCfH6Y/pbq1atHC6lWqNGDd1+++368MMP9dxzz1kSGubMmZN7Ie3leeRNmzbV1KlTLftUr0yZMpo/f77mzJmjt956S8ePH5efn5/q16+vefPmWfofzp+/H29vb4WEhKhz587q27evpVOs1q5dq7Vr1zrcN336dN11112W1SoKpUqV0ssvv6y1a9dq2bJlmjt3rjIzM1WlShU1bdpU8+fPz70/A/Jq06aNhg8frldeeUWpqamqV6+eXn/99SJZdcfPz09TpkzR/fffr+HDh+vNN9+0bPnoVatWadWqVXm2hYWFWXYt2J916tRJr7/+epHeKDI2NtbSUeFSpUpp+vTpio+P16JFizRt2jTZ7fbc6wp69Ohh6dLeRWHYsGE6dOiQ7r//fg0aNEhNmjTRE088obFjx+rtt99WkyZNLFsx1BFfX1+NHz9effr00bRp0zR69GiXz/n000+rVq1aWrx4sd5///3cxRY6derk0s08i0tgYKAWLVqk6dOn66mnnlJGRoYCAgIUHR2t8ePHW74AUXR0tMqWLauMjAzLl+Bv0aKFLly4oHbt2uVbVCM6Olrz5s2zbPrblClTdPjwYS1ZsiTP9T6lSpXS5MmTde+992r48OF66623rpl/tzt27JDdbr/i/fpMvX+jZLHZL8/jAgAAhXLx4kW9//77WrlypY4cOaLSpUurbt26atq0qRYtWqQmTZro+eeft/S6RABA4RCAAAAwKD09XUuWLFHv3r2NrIAJACgYAhAAAAAAj3HNLoIAAAAAAAVFAAIAAADgMQhAAAAAADwGAQgAAACAxyAAAQAAAPAYBCAAAAAAHoMABAAAAMBjEIAAAAAAeAwCEAAAAACPQQACAAAA4DH+DxbuunVIObvgAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 1100x900 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from string import ascii_letters\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "sns.set_theme(style=\"white\")\n",
    "\n",
    "# Generate a large random dataset\n",
    "rs = np.random.RandomState(33)\n",
    "d = pd.DataFrame(data=rs.normal(size=(100, 26)),\n",
    "                 columns=list(ascii_letters[26:]))\n",
    "\n",
    "# Compute the correlation matrix\n",
    "corr = d.corr()\n",
    "\n",
    "# Generate a mask for the upper triangle\n",
    "mask = np.triu(np.ones_like(corr, dtype=bool))\n",
    "\n",
    "# Set up the matplotlib figure\n",
    "f, ax = plt.subplots(figsize=(11, 9))\n",
    "\n",
    "# Generate a custom diverging colormap\n",
    "cmap = sns.diverging_palette(230, 20, as_cmap=True)\n",
    "\n",
    "# Draw the heatmap with the mask and correct aspect ratio\n",
    "sns.heatmap(corr, mask=mask, cmap=cmap, vmax=.3, center=0,\n",
    "            square=True, linewidths=.5, cbar_kws={\"shrink\": .5})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "09f12f54-43df-4e26-8ff3-84dfcf0a26df",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.13.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
